
#ifndef __OS_H__
#define __OS_H__

const int OS_PAGE_SIZE = 64 * 1024;

struct FILE_LINE {
   const char * file;
   int line;

   explicit FILE_LINE(const char * file, int line)
      : file(file)
      , line(line)
   {}
};

struct osLOCK {
   BYTE           data[32];

   osLOCK(void);
   ~osLOCK(void);

   void           Lock           (void);
   void           Unlock         (void);
};

struct osLOCKER {
   osLOCKER(osLOCK & lock)
      : lock(lock)
   { lock.Lock(); }

   ~osLOCKER(void)
   { lock.Unlock(); }

   osLOCK & lock;
};

void osSleep(int timeMs);
void osDebugBreak(void);

#endif // __OS_H__